/*
 * Copyright 2020 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import classNames from "classnames"
import * as React from "react"
import { componentClassName } from "../style"
import "./index.scss"

interface DividerProps {
  variant?: "middle";
  type?: "horizontal" | "vertical"
  hairline?: boolean
  className?: string
}

export default class Divider extends React.Component<DividerProps, any> {
  public render() {
    const { variant, type = "horizontal", className, hairline = true } = this.props
    return <hr className={classNames(componentClassName("divider"), {
      [componentClassName("divider-horizontal")]: type === "horizontal",
      [componentClassName("divider-horizontal-hairline")]: type === "horizontal" && hairline,
      [componentClassName("divider-vertical")]: type === "vertical",
      [componentClassName("divider-middle")]: variant === "middle",
    }, className)}/>
  }
}
